Android 中主流数据库分析及应用 | 您所在的位置:网站首页 › android 数据存储开源库 › Android 中主流数据库分析及应用 |
背景: 公司目前一直用 greenDao,还算稳定,前几天看到 greenDao 官方推荐另一个全新的数据库框架 ObjectBox,按照官方的说法,它的运行速度是SQ以及其他同类软件的10倍现在大多数公司都开始切换使用kotlin 语言,而greenDao 它其实是一个 Java数据库,对kotlin 并不是很友好Google 官方推出了Jetpack 全家桶,里面包含的 Room 数据库也是一个非常不错的数据库,且作为开发者,JetPack 是一个大方向,很有必要了解和学习。本文讲对比分析目前主流的数据库的一些优缺点及介绍如何将各个数据库引入到项目中使用。分析对比主要从以下方面进行: 性能和速度包体积是否利于后期维护功能的扩展性学习成本 1.greenDao 的现状及存在的一些问题介绍:greenDao 是 Android中一个开源的对象关系映射框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,完成 Java 对象的存储,更新,删除和查询。 特点: 最佳性能:(可能是Android最快的ORM,由智能代码生成驱动) 最小的内存消耗 小:库小于 150K,保持较低的构建时间,并避免65k 方法限制 数据库加密 强大而活跃的社区交流支持 官方: 基于当下,存在的不足 性能上来说,并不是最优的选择 官方基本已经停止维护,v3.3.0之后版本没有再更新过 相比kotlin,更适合于 Java 项目 数据库升级的不足和繁杂 2.常见开源优秀的数据库框架ObjectBox :现在 greendao 官方强烈推荐的面向对象的数据库框架(superfast),能够嵌入到 Android、Linux、macOS 或 Windows 应用程序中。 Room:谷歌官方的数据库框架,基于sqlite 进行了封装,我们可以直接使用room 来进行数据库的访问。 Realm:完美替代SQLite,核心包含C++库,同时支持Android和Ios ,是专门为移动平台设计的NoSql 数据库。 其他(如litePal) 3.常见优秀数据库的对比性能对比 https://github.com/objectbox/objectbox-performance 在内存大小相同的情况下处理1000条数据所用时间: 在内存大小相同的情况下处理10k条数据所用时间 结论:从性能上来看,ObjectBox 完全优于Realm和greenDao以及Room,同时Room和greenDao差别不是很大。 包体积大小 objectBox: 引入前:3.2M,引入后9.1M,包体积约为5.9M (1~1.5m) Room:引入前:3.2M,引入后5.4M,包体积约为2.2M。(不到1m) greenDao: |
CopyRight 2018-2019 实验室设备网 版权所有 |